package cn.sharesdk.onekeyshare;


import android.content.Context;
import android.os.Handler;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;

import cn.sharesdk.facebook.Facebook;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.ShareSDK;

public class OnekeyShareTool {
	public static final int SHARE_SUCCESS = 1;
	public static final int SHARE_FAIL = 2;
	public static final int SHARE_CANCEL = 3;
	/**
	 * context 上下文对象
	 * silent 是否直接分享
	 * title 标题，在印象笔记、邮箱、信息、微信（包括好友、朋友圈和收藏）、 易信（包括好友、朋友圈）、人人网和QQ空间使用，否则可以不提供
	 * titleUrl  titleUrl是标题的网络链接，仅在人人网和QQ空间使用，否则可以不提供
	 * shareWord 提供的内容
	 * contentUrl 提供惠信的一个主链接
	 * url在微信（包括好友、朋友圈收藏）和易信（包括好友和朋友圈）中使用，否则可以不提供
	 * site是分享此内容的网站名称，仅在QQ空间使用，否则可以不提供
	 * icon  分享时Notification的图标和文字
	 * silent 是否直接分享
	 * platform 设置编辑页的初始化选中平台
	 * mHandler 回调自己写的handler
	 */
	public static void initShareInfo(
			Context context, //上下文对象
			ShareInfo shareInfo,
			Handler mHandler //回调自己写的handler
		) {

//		removeHistory();

		OnekeyShare oks = new OnekeyShare();
		if(null != shareInfo.title){
			oks.setTitle(shareInfo.title);           //
		}
		if (null != shareInfo.titleUrl) {
			oks.setTitleUrl(shareInfo.titleUrl); // ShareSDKTools.WEBSITE_ADDR_LOADURI
		}
		if(shareInfo.content != null){
			oks.setText(shareInfo.content);   // context.getString(R.string.share_content_huixin_navigation)
		}
		if(shareInfo.comment != null){
			oks.setComment(shareInfo.comment);
		}
		if(shareInfo.url != null){
			oks.setUrl(shareInfo.url);                     // ShareSDKTools.WEBSITE_ADDR_LOADURI
		}
		if(shareInfo.imageUrl != null){
			oks.setImageUrl(shareInfo.imageUrl);           // NET_IMAGE_URI
		}
		if(shareInfo.site != null){
			oks.setSite(shareInfo.site);                   // "惠信"
		}
		if(shareInfo.siteUrl != null){
			oks.setSiteUrl(shareInfo.siteUrl);             // ShareSDKTools.WEBSITE_ADDR_LOADURI
		}
		oks.setNotification(shareInfo.notificationIcon, shareInfo.notificationStr); // R.drawable.app_logo_share_48
		oks.setSilent(shareInfo.silent);
		if (shareInfo.platform != null) {
			oks.setPlatform(shareInfo.platform);
		}
		if (null != mHandler) {
			oks.setCallback(new OneKeyShareCallback(mHandler));
		}
		oks.setShareContentCustomizeCallback(new ShareContentCustomize(context));
		// 在自动授权时可以禁用SSO方式
		oks.disableSSOWhenAuthorize();
		oks.show(context);
	}

	private static void removeHistory() {
		// //////////////////////////////////////
		Platform plat = ShareSDK.getPlatform(Facebook.NAME);
		CookieSyncManager.createInstance(plat.getContext());
		CookieManager cookieManager = CookieManager.getInstance();
		cookieManager.removeAllCookie();
		CookieSyncManager.getInstance().sync();
		// ///////////////////////////////////////
		Facebook.ShareParams sp = new Facebook.ShareParams();
		if(plat.isValid()) {
			plat.removeAccount();
		}
		sp.setText("facebook");
		sp.setImagePath("/sdcard/ceshi.png");
		plat.share(sp);

	}
}
